import axios from 'axios'
import { Connect } from './apiUrl'
// import store from '../vuex/index'
let qs = require('qs')
var baseURL = Connect.AuctionUrl
// 请求带cookie
axios.defaults.withCredentials = true

//=============================================================普通form表单携带Token提交👇==================================================//
// form提交
let formTokenPost = axios.create({
	baseURL,
	headers: {
		'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
	},
	method: 'post',
})

// 请求拦截 塞入Token
formTokenPost.interceptors.request.use(config => {
	// console.log( 'token',localStorage.getItem('accessToken'));

	if (localStorage.getItem('accessToken')) {
		config.headers.token = localStorage.getItem('accessToken')
	} else {
		_this.$message.error('网络出错，请重新登录')
		_this.$router.push('/')
	}
	return config
})

// 响应拦截
formTokenPost.interceptors.response.use(
	function(response) {
		let re = response.data
		showResult(re)
		return re
	},
	function(error) {
		// alert('您的网络可能有问题,请退出登录检查网络')
		// return false
	},
)

let tokenAtPost = (link, setting) => {
	let s = qs.stringify(setting)
	showResult(s)
	return formTokenPost.post(link, s)
}
//=============================================================普通form表单携带Token提交👆========================================//
//=============================================================JSON字符串提交👇==================================================//
// json格式
let jToken = axios.create({
	baseURL,
	headers: {
		'Content-Type': 'application/json;charset=UTF-8',
	},
	method: 'post',
})

// 请求拦截 塞入Token
jToken.interceptors.request.use(config => {
	if (localStorage.getItem('accessToken')) {
		config.headers.token = localStorage.getItem('accessToken')
	} else {
		_this.$message.error('网络出错，请重新登录')
		_this.$router.push('/')
	}
	return config
})

jToken.interceptors.response.use(
	function(response) {
		let re = response.data
		showResult(re)
		return re
	},
	function(error) {
		// alert('您的网络可能有问题,请退出登录检查网络')
		// return false
	},
)

let jtAtpost = (link, setting) => {
	showResult(setting)
	return jToken.post(link, setting)
}

let jtAtget = url => {
	return axios.get(url)
}

//=============================================================JSON字符串提交👆==================================================//
//=============================================================Get请求携带Token获取数据👇==================================================//
// form提交
let GetToken = axios.create({
	baseURL,
	headers: {
		'Content-Type': 'application/json;charset=UTF-8',
	},
	method: 'get',
})

// 请求拦截 塞入Token
GetToken.interceptors.request.use(config => {
	if (localStorage.getItem('accessToken')) {
		config.headers.token = localStorage.getItem('accessToken')
	} else {
		_this.$message.error('网络出错，请重新登录')
		_this.$router.push('/')
	}
	return config
})

GetToken.interceptors.response.use(
	function(response) {
		let re = response.data
		showResult(re)
		return re
	},
	function(error) {
		// alert('您的网络可能有问题,请退出登录检查网络')
		// return false
	},
)

let gtAtpost = (link, setting) => {
	let s = qs.stringify(setting)
	showResult(s)
	return GetToken.get(link, s)
}

//=============================================================Get请求携带Token获取数据👆==================================================//

// 测试环境用来看请求的结果
let showResult = re => {
	// console.log(re)
}

// ===========================================================携带Token API接口👇=====================================================//
let tokenAtLink = {
	confirm: 'bidders/getJoin', //确认出价
	confirmBid: 'bidders/joinBidders', //出价
}
// ===========================================================携带Token API接口👆=====================================================//

export { tokenAtPost, jtAtpost, gtAtpost, tokenAtLink, jtAtget }
